package com.hooper.redisdemo.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hooper.redisdemo.domain.User;

import java.util.Set;

/**
* @author Mind
* @description 针对表【tb_user】的数据库操作Service
* @createDate 2023-02-24 12:35:57
*/
public interface UserService extends IService<User> {
    /**
     * 用户的关注或取消关注
     * @param follower 关注者
     * @param target 被关注者
     * @return 成功信息！=
     */
    String followOrUnfollow(Long follower,Long target);

    /**
     * 获取两个用户的共同关注
     * @param one     用户1
     * @param another 用户2
     * @return 返回共同关注用户的信息
     */
    Set<User> getMutualFollows(Long one, Long another);

    /**
     * 用户签到
     * @param userId   用户id
     * @param dayOfMoth 签到的日期
     * @return 返回签到信息以及当月签到总天数
     */
    String userSignIn(Long userId, int dayOfMoth);

    /**
     *  获取当月最大签到连续天数
     * @param userId 用户id
     * @return 返回截至当天最大签到天数。
     */
    String consecutiveSignDays(Long userId);
}
